package com.mao.polymorphsm2;

public class Test {
    public static void main(String[] args) {
        // 认识多态的代码
        // 多态的好处，右边对象是解耦合的,更便于扩展和维护
        Animal a1 = new Turtle();
        a1.run();
        //a1.shrink();// 多态的弊端，不能调用子类特有方法

        Animal w = new Wolf();
        go(w);

        Animal t = new Turtle();
        go(t);
    }




    //宠物游戏，所有动物都可以送给这个方法跑步
    // 多态的好处： 父类类型的变量作为参数，可以接受一个子类对象
    public static void go(Animal a)
    {
        System.out.println("Start!!!!!!");
        a.run();
    }




}
